﻿<Configuration:UnityConfigurationContainer x:Class="Common.Unity.Extensions.Configuration.Testing.Configuration"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:Configuration="clr-namespace:Common.Unity.Configuration;assembly=Common.Unity"
    xmlns:Testing="clr-namespace:Common.Unity.Extensions.Configuration.Testing"
    xmlns:System="clr-namespace:System;assembly=mscorlib"
    xmlns:CoreConfiguration="clr-namespace:Common.Core.Configuration;assembly=Common.Core"
    xmlns:Objects="clr-namespace:Common.Unity.Extensions.Configuration.Testing.Objects"
    xmlns:Unity="clr-namespace:Common.Unity;assembly=Common.Unity"
    xmlns:ExtensionConfiguration="clr-namespace:Common.Unity.Extensions.Configuration;assembly=Common.Unity.Extensions.Configuration"
	x:TypeArguments="Testing:Configuration"
	>
	<Configuration:UnityContainer x:Key="DefaultContainer">
		<Configuration:UnityType Type="{x:Type Objects:ISpyPolicy}" MapTo="{x:Type Objects:SpyPolicy}">
			<Configuration:InjectionProperty PropertyName="Enabled">
				<Configuration:InstanceValue>
					<System:Boolean>True</System:Boolean>
				</Configuration:InstanceValue>
			</Configuration:InjectionProperty>
		</Configuration:UnityType>
		
		<Configuration:UnityType Type="{x:Type Objects:ISpyTarget}" MapTo="{x:Type Objects:SpyTarget}">
			<ExtensionConfiguration:PolicyReference BuildType="{x:Type Objects:ISpyPolicy}" />
		</Configuration:UnityType>
		
		<Configuration:UnityContainer.Extensions>
			<Unity:CommonExtension />
			<ExtensionConfiguration:ConfigurationExtension />
		</Configuration:UnityContainer.Extensions>
		
		<Configuration:UnityContainer.Configurations>
			<ExtensionConfiguration:ConfigurationExtensionConfigurator>
				<ExtensionConfiguration:ConfigurationExtensionConfigurator.Strategies>
					<ExtensionConfiguration:StrategyReference Type="{x:Type Objects:SpyStrategy}" Stage="Initialization" />
				</ExtensionConfiguration:ConfigurationExtensionConfigurator.Strategies>
			</ExtensionConfiguration:ConfigurationExtensionConfigurator>
		</Configuration:UnityContainer.Configurations>
	</Configuration:UnityContainer>
</Configuration:UnityConfigurationContainer>
